package SelectLessonBL;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

import vo.LessonVO;
import vo.SelectLessonVO;
import vo.StudentVO;
import error.DoubleSelectException;
import error.QualificationException;
import error.TimeException;


public interface SelectLessonLogicService extends Remote  
{
	public boolean joinClass(SelectLessonVO aim)throws RemoteException, QualificationException,TimeException;
	public boolean quitClass(SelectLessonVO aim)throws RemoteException,TimeException,QualificationException;
	public boolean rejoinClass(SelectLessonVO aim)throws RemoteException, QualificationException,TimeException;
	public ArrayList<LessonVO> getLesson(LessonVO aim)throws RemoteException;
	public ArrayList<SelectLessonVO> getSelectLesson(SelectLessonVO aim)throws RemoteException;
	public ArrayList<SelectLessonVO> ManageSelectLesson(String LessonID)throws RemoteException,DoubleSelectException,TimeException;
	public boolean setSelectLesson(SelectLessonVO aim) throws RemoteException;
	public boolean setSelectLesson(String LessonID, StudentVO aim) throws RemoteException;
	/*
	 * joinClass(id:String lesson:String):Boolean
	quieClass(id:String lesson:String):Boolean
	rejoinClass(id:String lesson:String):Boolean
	getLesson(aim:characterPO):ArrayList<LessonVO>
	getSelectLesson(aim:characterPO):ArrayList<SelectLessonVO>
	 */
}
